/**
 * @brief 静态资源对象【精炼规则表】的载入ActionScript对象实现
 * @file GYRefiningRule.as
 * @version 1671
 *
 * @author 微当网络科技自动代码生成器
 * @date 2012年05月07日 16时
 */


package com.seaengine.staticdata {
    
    /**
     * 精炼规则表
     */
    public class GYRefiningRule extends XMLStaticTable {
        //--------------------------------------------------------------------------
        // 成员方法
        //--------------------------------------------------------------------------
        /**
         * @brief 载入XML数据
         * @param xmlList 存储载入数据配置的xml文本
         * @param tableID 载入的表格识别标志
         * @param rootXML 表格的原始xml文本
         */
        public function loadFromXML( xmlList:XMLList, tableID:uint, rootXML:XML ):void {
            for ( var propsI:int=0; propsI<xmlList.elements("props").length(); propsI++ ) {
                var propsArrayItem:GYPropertyConfiguration = new GYPropertyConfiguration();
                propsArrayItem.loadFromXMLArray( xmlList.elements("props"), propsI, 56, rootXML );
                props.push( propsArrayItem );
            } //  属性配置
            money             =  xmlList["id"].@["money"];           //  金钱
            ingot             =  xmlList["id"].@["ingot"];           //  元宝
        }

        //--------------------------------------------------------------------------
        // 重载的成员方法
        //--------------------------------------------------------------------------
        /**
         * @brief 构造函数
         * @param newid 载入对象的id值
         */
        override public function GYRefiningRule( newid:uint ) {
            super( newid );
            _props            =  new Array();                       //  创建成员对象【属性配置】
            super._filename   = "assets/item/xml/refiningRule.xml";
        }
        
        /**
         * @brief 从XML结构载入
         */
        override public function loadXML( rootXML:XML ):void {
            var xmlList:XMLList = rootXML["item"].( id == super.id );
            loadFromXML( xmlList, 56, rootXML );
        }
        
        /**
         * @brief 从XMLList结构载入（请尽量避免使用）
         */
        override public function loadXMLItem( xmlList:XMLList ):void {
            loadFromXML( xmlList, 56, null );
        }
        
        //--------------------------------------------------------------------------
        // 存取方法
        //--------------------------------------------------------------------------
        /// 取得属性配置
        public function get props() : Array {
            return _props;
        }

        /// 取得金钱
        public function get money() : uint {
            return _money;
        }
        /// 写入金钱
        public function set money( newValue : uint ):void {
            _money = newValue;
        }

        /// 取得元宝
        public function get ingot() : uint {
            return _ingot;
        }
        /// 写入元宝
        public function set ingot( newValue : uint ):void {
            _ingot = newValue;
        }

        //--------------------------------------------------------------------------
        // 成员变量
        //--------------------------------------------------------------------------
        private var _props                     : Array;                    /// 属性配置
        private var _money                     : uint;                     /// 金钱
        private var _ingot                     : uint;                     /// 元宝
    }
}

